1. Field of the Invention
This invention generally relates to improvements in operating system software for printing documents, namely the identification and handling of print jobs on the basis of color content in the print jobs.
2. Description of the Related Art
One of the most important aspects of a modern computer system is the ability to generate a “hard” copy of textual information or graphics that can be manipulated by the computer, visually displayed and stored. In order to accomplish this task, a computer system generally includes one or more printing devices that are electrically connected to the computer system and controlled by it in order to generate a permanent image on a selected medium. Examples of printing devices in common use are dot matrix, ink jet and laser printers that fix permanent images on paper under control of the computer. Although paper is the most common medium, other media are often used, such as photographic film.
Print characteristics, such as resolution, number of colors and page size, may vary greatly from one print job to the next as a result of limitations of the application generating the print job, objectives of the user initiating the print job, and the capabilities of the available printers.
In order to print a document that is displayed on the monitor or stored within the memory, several actions must take place. First, since the print medium generally has a fixed size, the printable information must be divided into pieces that are small enough to fit on the selected medium, a process that is called pagination. In addition, the information may need to be reformatted from the format in that it is either displayed or stored into a format that is suitable for controlling the printing device to actually perform the printing on the medium. The reformatting in this latter step may include the insertion of control commands into the printable information in order to control the printing device. These added commands may, for example, include such commands as carriage returns, line feeds, form feeds, spaces and font information, that format the printable information. The reformatting may also include a conversion step in which a graphical display is converted into the form used by the printing device.
The pagination and reformatting necessary to convert the printable information into a form that can be printed on a given printing device is generally performed by software programs running within the computer system. Software programs operating on a computing system generally can be categorized as either operating systems or application programs. Operating systems are usually specific to a type of computer system and consist of a collection of utility programs that enable the computer system to perform basic operations, such as storing and retrieving information on a peripheral disk memory, displaying information on an associated video display, performing rudimentary file operations including the creation, naming and renaming of files and, in some cases, performing diagnostic operations in order to discover or recover from malfunctions.
By itself, the operating system generally provides only very basic functions and must be accompanied by an application program. The application program interacts with the operating system to provide much higher-level functionality and a direct interface with the user. During the interaction between the application program and the operating system, the application program typically makes use of operating system functions by sending a series of task commands to the operating system that then performs the requested tasks. For example, the application program may request that the operating system store particular information on the computer disk memory or display information on the video display.
Regardless of whether the printer software is provided by the application program, the operating system, or some combination, the functionality of the printer software, and consequently the functionality of the printer, has been limited. In particular, printer software has been substantially limited to addressing the basic communications of formatting and pagination for a particular printer, or the notification of printer status or print job status to the user. While these basic functions are useful or necessary, they do not provide the user with some desired print management capabilities.
Furthermore, a modern computer network may have access to a plurality of different print resources, each print resource having its own print settings that establish the features and characteristics of the print resources. It can be difficult, if not impossible, for a user to determine which print resource is the optimal one to print a particular document without actually performing a print operation. In addition, when print data are to be distributed and printed, optimal distributed print processing of the print data cannot often be performed.
U.S. Pat. No. 5,906,442 discloses a method for automatically setting an optimal print environment for print data in a print control apparatus without making the user recognize it. The method includes outputting data to a plurality of print control apparatuses via a network, analyzing test data on the basis of print setting information, obtaining analysis results of test data from a plurality of print control apparatuses, comparing each of the analysis results obtained, and selecting one of the plurality of print control apparatuses which is an optimal print control apparatus for printing the data to be outputted. This “querying” process consumes valuable network resources, since at least a portion of each print job is sent to each print control apparatus accessible over the network and analysis results must be returned and compared before a print control apparatus can be selected.
A Xerox Disclosure Journal article to P. F. Morgan (vol. 16, No. 6, November/December 1991) entitled “Integration of Black Only and Color Printers” delivers portions of a job to a plurality of printers on the basis of page level information. In particular, a job is separated on the basis of color so that the black/white part of the job is delivered to a black/white printing system and the color part of the job is delivered to a full process color machine.
Therefore, there is a need for a method or system providing more print management capabilities. It would be desirable to have a method or system that identifies one or more attributes of a print job or a portion of a print job and directs the print job to an appropriate print device. More particularly, it would be desirable to have an operating system that accommodates user preferences for determining how print jobs are distributed to a plurality of printers. It would be most desirable if the operating system allowed for document type instructions, file type instructions, and identification of color content.